<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>killerbee.dev_wislab.WISLAB</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="killerbee-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/killerbee/">KillerBee</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="killerbee-module.html">Package&nbsp;killerbee</a> ::
        <a href="killerbee.dev_wislab-module.html">Module&nbsp;dev_wislab</a> ::
        Class&nbsp;WISLAB
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="killerbee.dev_wislab.WISLAB-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class WISLAB</h1><p class="nomargin-top"><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB">source&nbsp;code</a></span></p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">dev</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">10.10.10.2</code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">recvport</span>=<span class="summary-sig-default">17754</span>,
        <span class="summary-sig-arg">recvip</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">10.10.10.1</code><code class="variable-quote">'</code></span>)</span><br />
      Instantiates the KillerBee class for the Wislab Sniffer.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="close"></a><span class="summary-sig-name">close</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Actually close the receiving UDP socket.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.close">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="check_capability"></a><span class="summary-sig-name">check_capability</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">capab</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.check_capability">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="get_capabilities"></a><span class="summary-sig-name">get_capabilities</span>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.get_capabilities">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__set_capabilities" class="summary-sig-name" onclick="show_private();">__set_capabilities</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Sets the capability information appropriate for the client and 
      firmware version.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__set_capabilities">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">List</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#get_dev_info" class="summary-sig-name">get_dev_info</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns device information in a list identifying the device.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.get_dev_info">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">If fetch==True, returns a String of the page. Otherwise, it returns 
      True if an HTTP 200 code was received.</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__make_rest_call" class="summary-sig-name" onclick="show_private();">__make_rest_call</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">path</span>,
        <span class="summary-sig-arg">fetch</span>=<span class="summary-sig-default">True</span>)</span><br />
      Wrapper to the sniffer's RESTful services.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__make_rest_call">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">Boolean</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__sniffer_status" class="summary-sig-name" onclick="show_private();">__sniffer_status</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Because the firmware accepts only toggle commands for sniffer on/off,
      we need to check what state it's in before taking action.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__sniffer_status">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="__sync_status"></a><span class="summary-sig-name">__sync_status</span>(<span class="summary-sig-arg">self</span>)</span><br />
      This updates the standard self.__stream_open variable based on the 
      status as reported from asking the remote sniffer.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__sync_status">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">Boolean</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__sniffer_channel" class="summary-sig-name" onclick="show_private();">__sniffer_channel</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Because the firmware accepts only toggle commands for sniffer on/off,
      we need to check what state it's in before taking action.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__sniffer_channel">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#sniffer_on" class="summary-sig-name">sniffer_on</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">channel</span>=<span class="summary-sig-default">None</span>)</span><br />
      Turns the sniffer on such that pnext() will start returning observed 
      data.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.sniffer_on">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="sniffer_off"></a><span class="summary-sig-name">sniffer_off</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Turns the sniffer off.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.sniffer_off">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#set_channel" class="summary-sig-name">set_channel</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">channel</span>)</span><br />
      Sets the radio interface to the specifid channel (limited to 2.4 GHz 
      channels 11-26)</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.set_channel">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="inject"></a><span class="summary-sig-name">inject</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">packet</span>,
        <span class="summary-sig-arg">channel</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">count</span>=<span class="summary-sig-default">1</span>,
        <span class="summary-sig-arg">delay</span>=<span class="summary-sig-default">0</span>)</span><br />
      Not implemented.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.inject">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">List</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#pnext" class="summary-sig-name">pnext</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">100</span>)</span><br />
      Returns a dictionary containing packet data, else None.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.pnext">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#jammer_on" class="summary-sig-name">jammer_on</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">channel</span>=<span class="summary-sig-default">None</span>)</span><br />
      Not yet implemented.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.jammer_on">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">None</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#jammer_off" class="summary-sig-name">jammer_off</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">channel</span>=<span class="summary-sig-default">None</span>)</span><br />
      Not yet implemented.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.jammer_off">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== STATIC METHODS ==================== -->
<a name="section-StaticMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Static Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-StaticMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">Integer, or None if unable to determine modulation</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__get_default_modulation" class="summary-sig-name" onclick="show_private();">__get_default_modulation</a>(<span class="summary-sig-arg">channel</span>)</span><br />
      Return the Wislab-specific integer representing the modulation which 
      should be choosen to be IEEE 802.15.4 complinating for a given 
      channel number.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__get_default_modulation">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="killerbee.dev_wislab.WISLAB-class.html#__parse_zep_v2" class="summary-sig-name" onclick="show_private();">__parse_zep_v2</a>(<span class="summary-sig-arg">data</span>)</span><br />
      Parse the packet from the ZigBee encapsulation protocol version 2/3 
      and return the fields desired for usage by pnext().</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__parse_zep_v2">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">dev</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">10.10.10.2</code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">recvport</span>=<span class="sig-default">17754</span>,
        <span class="sig-arg">recvip</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">10.10.10.1</code><code class="variable-quote">'</code></span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Instantiates the KillerBee class for the Wislab Sniffer.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>dev</code></strong> (String) - IP address (ex 10.10.10.2)</li>
        <li><strong class="pname"><code>recvport</code></strong> (Integer) - UDP port to listen for sniffed packets on.</li>
        <li><strong class="pname"><code>recvip</code></strong> (String) - IP address of the host, where the sniffer will send sniffed 
          packets to.</li>
    </ul></dd>
    <dt>Returns: None</dt>
        <dd>None</dd>
  </dl>
</td></tr></table>
</div>
<a name="__set_capabilities"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__set_capabilities</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__set_capabilities">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Sets the capability information appropriate for the client and 
  firmware version.</p>
  <dl class="fields">
    <dt>Returns: None</dt>
        <dd>None</dd>
  </dl>
</td></tr></table>
</div>
<a name="get_dev_info"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_dev_info</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.get_dev_info">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns device information in a list identifying the device.</p>
  <dl class="fields">
    <dt>Returns: List</dt>
        <dd>List of 3 strings identifying device.</dd>
  </dl>
</td></tr></table>
</div>
<a name="__make_rest_call"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__make_rest_call</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">path</span>,
        <span class="sig-arg">fetch</span>=<span class="sig-default">True</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__make_rest_call">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Wrapper to the sniffer's RESTful services. Reports URL/HTTP errors as 
  KBInterfaceErrors.</p>
  <dl class="fields">
    <dt>Returns: If fetch==True, returns a String of the page. Otherwise, it returns 
      True if an HTTP 200 code was received.</dt>
  </dl>
</td></tr></table>
</div>
<a name="__sniffer_status"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__sniffer_status</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__sniffer_status">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Because the firmware accepts only toggle commands for sniffer on/off, 
  we need to check what state it's in before taking action. It's also 
  useful to make sure our command worked.</p>
  <dl class="fields">
    <dt>Returns: Boolean</dt>
  </dl>
</td></tr></table>
</div>
<a name="__sniffer_channel"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__sniffer_channel</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__sniffer_channel">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Because the firmware accepts only toggle commands for sniffer on/off, 
  we need to check what state it's in before taking action. It's also 
  useful to make sure our command worked.</p>
  <dl class="fields">
    <dt>Returns: Boolean</dt>
  </dl>
</td></tr></table>
</div>
<a name="sniffer_on"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">sniffer_on</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">channel</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.sniffer_on">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Turns the sniffer on such that pnext() will start returning observed 
  data.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>channel</code></strong> (Integer) - Sets the channel, optional</li>
    </ul></dd>
    <dt>Returns: None</dt>
  </dl>
</td></tr></table>
</div>
<a name="__get_default_modulation"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__get_default_modulation</span>(<span class="sig-arg">channel</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__get_default_modulation">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Return the Wislab-specific integer representing the modulation which 
  should be choosen to be IEEE 802.15.4 complinating for a given channel 
  number. Captured values from sniffing Wislab web interface, unsure why 
  these are done as such. Available modulations are listed at: 
  http://www.sewio.net/open-sniffer/develop/http-rest-interface/</p>
  <dl class="fields">
    <dt>Returns: Integer, or None if unable to determine modulation</dt>
  </dl>
</td></tr></table>
</div>
<a name="set_channel"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_channel</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">channel</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.set_channel">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Sets the radio interface to the specifid channel (limited to 2.4 GHz 
  channels 11-26)</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>channel</code></strong> (Integer) - Sets the channel, optional</li>
    </ul></dd>
    <dt>Returns: None</dt>
  </dl>
</td></tr></table>
</div>
<a name="__parse_zep_v2"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__parse_zep_v2</span>(<span class="sig-arg">data</span>)</span>
    <br /><em class="fname">Static Method</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.__parse_zep_v2">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Parse the packet from the ZigBee encapsulation protocol version 2/3 
  and return the fields desired for usage by pnext(). There is support here
  for some oddities specific to the Wislab implementation of ZEP and the 
  packet, such as CC24xx format FCS headers being expected.</p>
  <p>The ZEP protocol parsing is mainly based on Wireshark source at: 
  http://anonsvn.wireshark.org/wireshark/trunk/epan/dissectors/packet-zep.c
  * ZEP v2 Header will have the following format (if type=1/Data): *  
  |Preamble|Version| Type |Channel ID|Device ID|CRC/LQI Mode|LQI Val|NTP 
  Timestamp|Sequence#|Reserved|Length| *  |2 bytes |1 byte |1 byte|  1 byte
  | 2 bytes |   1 byte   |1 byte |   8 bytes   | 4 bytes |10 bytes|1 byte| 
  * ZEP v2 Header will have the following format (if type=2/Ack): *  
  |Preamble|Version| Type |Sequence#| *  |2 bytes |1 byte |1 byte| 4 bytes 
  | #define ZEP_PREAMBLE        &quot;EX&quot; #define ZEP_V2_HEADER_LEN   
  32 #define ZEP_V2_ACK_LEN      8 #define ZEP_V2_TYPE_DATA    1 #define 
  ZEP_V2_TYPE_ACK     2 #define ZEP_LENGTH_MASK     0x7F</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="pnext"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">pnext</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">timeout</span>=<span class="sig-default">100</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.pnext">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns a dictionary containing packet data, else None.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>timeout</code></strong> (Integer) - Timeout to wait for packet reception in usec</li>
    </ul></dd>
    <dt>Returns: List</dt>
        <dd>Returns None is timeout expires and no packet received.  When a 
          packet is received, a dictionary is returned with the keys bytes 
          (string of packet bytes), validcrc (boolean if a vaid CRC), rssi 
          (unscaled RSSI), and location (may be set to None). For backwards
          compatibility, keys for 0,1,2 are provided such that it can be 
          treated as if a list is returned, in the form [ String: packet 
          contents | Bool: Valid CRC | Int: Unscaled RSSI ]</dd>
  </dl>
</td></tr></table>
</div>
<a name="jammer_on"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">jammer_on</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">channel</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.jammer_on">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Not yet implemented.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>channel</code></strong> (Integer) - Sets the channel, optional</li>
    </ul></dd>
    <dt>Returns: None</dt>
  </dl>
</td></tr></table>
</div>
<a name="jammer_off"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">jammer_off</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">channel</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="killerbee.dev_wislab-pysrc.html#WISLAB.jammer_off">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Not yet implemented.</p>
  <dl class="fields">
    <dt>Returns: None</dt>
        <dd>None</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="killerbee-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/killerbee/">KillerBee</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Mon Dec 30 17:49:12 2013
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
